全网目前最全python例子(附源码) |
您所在的位置:网站首页 › python 经典实例书评 › 全网目前最全python例子(附源码) |
源码
https://github.com/javanan/python-small-examples 告别枯燥,60秒学会一个小例子,系统学习Python,从入门到大师。Python之路已有190个例子: 第零章:感受Python之美 第一章:Python基础 第二章:Python之坑 第三章:Python字符串和正则 第四章:Python文件 第五章:Python日期 第六章:Python利器 第七章:Python画图 第八章:Python实战 第九章:Python基础算法 第十章:Python机器学习 后续章节: 不断丰富原有1~7章节; Python基础算法; python 机器学习,包括机器学习的基础概念和十大核心算法以及Sklearn和Kaggle实战的小例子。 PyQt制作GUI Flask前端开发 Python数据分析:NumPy, Pandas, Matplotlib, Plotly等已发《Python之路.1.1.pdf》最新版本包括7个章节:Python基础,Python字符串和正则,Python文件,Python日期, Python利器,Python画图 章节,共计147个小例子。 感受Python之美 1 简洁之美通过一行代码,体会Python语言简洁之美 一行代码交换a,b: a, b = b, a 一行代码反转列表 [1,2,3][::-1] # [3,2,1] 一行代码合并两个字典 { **{ 'a':1,'b':2}, **{ 'c':3}} # {'a': 1, 'b': 2, 'c': 3} 一行代码列表去重 set([1,2,2,3,3,3]) # {1, 2, 3} 一行代码求多个列表中的最大值 max(max([ [1,2,3], [5,1], [4] ], key=lambda v: max(v))) # 5 一行代码生成逆序序列 list(range(10,-1,-1)) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] 2 Python绘图Python绘图方便、漂亮,画图神器pyecharts几行代码就能绘制出热力图: 炫酷的水球图: 经常使用的词云图: 3 Python动画仅适用Python的常用绘图库:Matplotlib,就能制作出动画,辅助算法新手入门基本的排序算法。如下为一个随机序列,使用快速排序算法,由小到大排序的过程动画展示: 归并排序动画展示: 使用turtule绘制的漫天雪花: 4 Python数据分析Python非常适合做数值计算、数据分析,一行代码完成数据透视: pd.pivot_table(df, index=['Manager', 'Rep'], values=['Price'], aggfunc=np.sum) 5 Python机器学习Python机器学习库Sklearn功能强大,接口易用,包括数据预处理模块、回归、分类、聚类、降维等。一行代码创建一个KMeans聚类模型: from sklearn.cluster import KMeans KMeans( n_clusters=3 ) 6 Python-GUIPyQt设计器开发GUI,能够迅速通过拖动组建搭建出来,使用方便。如下为使用PyQt,定制的一个专属自己的小而美的计算器。 除此之外,使用Python的Flask框架搭建Web框架,也非常方便。 总之,在这个Python小例子,你都能学到关于使用Python干活的方方面面的有趣的小例子,欢迎关注。 一、Python基础Python基础主要总结Python常用内置函数;Python独有的语法特性、关键词nonlocal, global等;内置数据结构包括:列表(list), 字典(dict), 集合(set), 元组(tuple) 以及相关的高级模块collections中的Counter, namedtuple, defaultdict,heapq模块。目前共有82个小例子 此章节一共包括82个基础小例子。 1 求绝对值绝对值或复数的模 In [1]: abs(-6) Out[1]: 6 2 元素都为真接受一个迭代器,如果迭代器的所有元素都为真,那么返回True,否则返回False In [2]: all([1,0,3,6]) Out[2]: False In [3]: all([1,2,3]) Out[3]: True 3 元素至少一个为真接受一个迭代器,如果迭代器里至少有一个元素为真,那么返回True,否则返回False In [4]: any([0,0,0,[]]) Out[4]: False In [5]: any([0,0,1]) Out[5]: True 4 ascii展示对象调用对象的__repr__() 方法,获得该方法的返回值,如下例子返回值为字符串 In [1]: class Student(): ...: def __init__(self,id,name): ...: self.id = id ...: self.name = name ...: def __repr__(self): ...: return 'id = '+self.id +', name = '+self.name ...: ...: In [2]: xiaoming = Student(id='001',name='xiaoming') In [3]: print(xiaoming) id = 001, name = xiaoming In [4]: ascii(xiaoming) Out[4]: 'id = 001, name = xiaoming' 5 十转二将十进制转换为二进制 In [1]: bin(10) Out[1]: '0b1010' 6 十转八将十进制转换为八进制 In [1]: oct(9) Out[1]: '0o11' 7 十转十六将十进制转换为十六进制 In [1]: hex(15) Out[1]: '0xf' 8 判断是真是假测试一个对象是True, 还是False. In [1]: bool([0,0,0]) Out[1]: True In [2]: bool([]) Out[2]: False In [3]: bool([1,0,1]) Out[3]: True 9 字符串转字节将一个字符串转换成字节类型 In [1]: s = "apple" In [2]: bytes(s,encoding='utf-8') Out[2]: b'apple' 10 转为字符串将字符类型、数值类型等转换为字符串类型 In [1]: i = 100 In [2]: str(i) Out[2]: '100' 11 是否可调用判断对象是否可被调用,能被调用的对象就是一个callable 对象,比如函数 str, int 等都是可被调用的,但是例子4 中xiaoming实例是不可被调用的: In [1]: callable(str) Out[1]: True In [2]: callable(int) Out[2]: True In [3]: xiaoming Out[3]: id = 001, name = xiaoming In [4]: callable(xiaoming) Out[4]: False如果想让xiaoming能被调用 xiaoming(), 需要重写Student类的__call__方法: In [1]: class Student(): ...: def __init__(self,id,name): ...: self.id = id ...: self.name = name ...: def __repr__(self): ...: return 'id = '+self.id +', name = '+self.name ...: def __call__(self): ...: print('I can be called') ...: print(f'my name is {self.name}') ...: ...: In [2]: t = Student('001','xiaoming') In [3]: t() I can be called my name is xiaoming 12 十转ASCII查看十进制整数对应的ASCII字符 In [1]: chr(65) Out[1]: 'A' 13 ASCII转十查看某个ASCII字符对应的十进制数 In [1]: ord('A') Out[1]: 65 14 静态方法classmethod 装饰器对应的函数不需要实例化,不需要 self参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。 In [1]: class Student(): ...: def __init__(self,id,name): ...: self.id = id ...: self.name = name ...: def __repr__(self): ...: return 'id = '+self.id +', name = '+self.name ...: @classmethod ...: def f(cls): ...: print(cls) 15 执行字符串表示的代码将字符串编译成python能识别或可执行的代码,也可以将文字读成字符串再编译。 In [1]: s = "print('helloworld')" In [2]: r = compile(s,"", "exec") In [3]: r Out[3]: In [4]: exec(r) helloworld 16 创建复数创建一个复数 In [1]: complex(1,2) Out[1]: (1+2j) 17 动态删除属性删除对象的属性 In [1]: delattr(xiaoming,'id') In [2]: hasattr(xiaoming,'id') Out[2]: False 18 转为字典创建数据字典 In [1]: dict() Out[1]: { } In [2]: dict(a='a',b='b') Out[2]: { 'a': 'a', 'b': 'b'} In [3]: dict(zip(['a','b'],[1,2])) Out[3]: { 'a': 1, 'b': 2} In [4]: dict([('a',1),('b',2)]) Out[4]: { 'a': 1, 'b': 2} 19 一键查看对象所有方法不带参数时返回当前范围内的变量、方法和定义的类型列表;带参数时返回参数的属性,方法列表。 In [96]: dir(xiaoming) Out[96]: ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'name'] 20 取商和余数分别取商和余数 In [1]: divmod(10,3) Out[1]: (3, 1) 21 枚举对象返回一个可以枚举的对象,该对象的next()方法将返回一个元组。 In [1]: s = ["a","b","c"] ...: for i ,v in enumerate(s,1): ...: print(i,v) ...: 1 a 2 b 3 c 22 计算表达式将字符串str 当成有效的表达式来求值并返回计算结果取出字符串中内容 In [1]: s = "1 + 3 +5" ...: eval(s) ...: Out[1]: 9 23 查看变量所占字节数 In [1]: import sys In [2]: a = { 'a':1,'b':2.0} In [3]: sys.getsizeof(a) # 占用240个字节 Out[3]: 240 24 过滤器在函数中设定过滤条件,迭代元素,保留返回值为True的元素: In [1]: fil = filter(lambda x: x>10,[1,11,2,45,7,6,13]) In [2]: list(fil) Out[2]: [11, 45, 13] 25 转为浮点类型将一个整数或数值型字符串转换为浮点数 In [1]: float(3) Out[1]: 3.0如果不能转化为浮点数,则会报ValueError: In [2]: float('a') ValueError Traceback (most recent call last) in () ----> 1 float('a') ValueError: could not convert string to float: 'a' 26 字符串格式化格式化输出字符串,format(value, format_spec)实质上是调用了value的__format__(format_spec)方法。 In [104]: print("i am {0},age{1}".format("tom",18)) i am tom,age18 3.1415926 {:.2f} 3.14 保留小数点后两位 3.1415926 {:+.2f} +3.14 带符号保留小数点后两位 -1 {:+.2f} -1.00 带符号保留小数点后两位 2.71828 {:.0f} 3 不带小数 5 {:0>2d} 05 数字补零 (填充左边, 宽度为2) 5 {:x |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |